
package com.jf.cloud.supplier.service;

import com.jf.cloud.supplier.model.SupplierWalletZone;
import com.jf.cloud.supplier.vo.SupplierWalletZoneInfoVO;

import java.util.List;

/**
 * 
 * @author DOG
 */
public interface SupplierWalletZoneService {

    /**
     * 更新
     * @param supplierWalletZone 
     */
    void update(SupplierWalletZone supplierWalletZone);

    /**
     * 进行分片
     * @param needZoneNum 需要分成的数量
     * @param supplierId 需要分片的供应商id
     */
    void doZone(int needZoneNum, Long supplierId);

    /**
     * 从缓存中获取供应商分片情况
     * @param supplierId
     * @return
     */
    SupplierWalletZoneInfoVO getShopZoneInfo(Long supplierId);

    /**
     * 移除供应商分片缓存
     * @param supplierIds
     */
    void removeZoneCache(List<Long> supplierIds);

    /**
     * 更新该供应商所有分片的结算金额包括主分片
     * @param supplierId
     * @param totalSettleAmount
     * @param zoneNum
     */
    void updateZoneSettleAmount(Long supplierId, Long totalSettleAmount, int zoneNum);
}
